#ifndef _INPUTS_H_
#define _INPUTS_H_

#define INPUT_DDR DDRC
#define INPUT_PORT PORTC
#define INPUT_PIN PINC

#define IN1 2
#define IN2 3
#define IN3 4
#define IN4 5

#define INPUT_ison(i) !(INPUT_PIN & (1<<IN##i))
#define INPUT_isoff(i) (INPUT_PIN & (1<<IN##i))

//do inputa 3 jest podlaczona bramka triaka
#define TRIAK_on()					INPUT_PORT &= ~(1<<IN3)
#define TRIAK_off() 				INPUT_PORT |= (1<<IN3)
#define KRANCOWKA_GWIAZDA_ison()	INPUT_ison(1)
#define KRANCOWKA_GWIAZDA_isoff() 	INPUT_isoff(1)
#define WykryteZero 				INPUT_isoff(4)

inline void INPUTS_init()
{
	#ifdef DozwolonaGwiazda
		INPUT_DDR &= ~((1<<IN1) | (1<<IN2) | (1<<IN4));
		INPUT_DDR |= (1<<IN3);
		INPUT_PORT |= ((1<<IN1) | (1<<IN2));
		INPUT_PORT &= ~(1<<IN3); //wyjscie do triaka
		INPUT_PORT &= ~(1<<IN4); //bez pull up dla wykrycia zera
	#endif
	#ifdef DozwolonyDuzyTor
		INPUT_DDR &= ~((1<<IN1) | (1<<IN2));
		INPUT_DDR |= ((1<<IN3) | (1<<IN4));
		INPUT_PORT |= ((1<<IN1) | (1<<IN2));
		INPUT_PORT &= ~(1<<IN3); //wyprowadzenie masy dla krancowek duzego toru VMusic
		INPUT_PORT &= ~(1<<IN4); //wyprowadzenie masy dla krancowek
	#endif
}

#endif
